package com.example.demo.controller;

import com.auth0.jwt.JWT;
import com.example.demo.entity.User;
import com.example.demo.entity.VO.LoginUser;
import com.example.demo.utils.JWTUtils;
import com.example.demo.utils.PassToken;
import com.example.demo.utils.ResponseResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.TimeUnit;

@RestController
public class TestController {
    @Autowired
    RedisTemplate<String, Object> redisTemplate;

    @GetMapping("/text")
    public String test() {
        String s = (String) redisTemplate.opsForValue().get("data");
//    redisTemplate.opsForValue().set("age",21,2000);
        redisTemplate.opsForValue().set("age", "21", 20, TimeUnit.SECONDS);
        return s;
    }

//    @PostMapping("/login")
//    public ResponseResult<String> login(@RequestBody LoginUser loginUser) {
//        String stroeCode=(String) redisTemplate.opsForValue().get("captcha_codes:"+loginUser.getUuid());
//        if(loginUser.getCode().equals(stroeCode)){
//            String id = loginUser.getUsername();
//            String pwd = loginUser.getPassword();
//            Map<String,String>map=new HashMap<>();
//            map.put("username",id);
//            map.put("password",pwd);
//            if (id.equals("admin") && pwd.equals("admin")) {
//                String token = JWTUtils.getToken(map);
//                return ResponseResult.createBySuccess(200, token, "登录成功");
//        }
//            return ResponseResult.createBySuccess(500, "", "账号或密码错误");
//        }else {
//            return ResponseResult.createBySuccess(500, "", "验证码错误");
//        }
////        String id = (String) map.get("username");
////        String pwd = (String) map.get("password");
//    }

    @PassToken
    @GetMapping("/getStudents")
    public ResponseResult<String> getStudents() {
        return ResponseResult.createBySuccess(200, "", "查询成功");
    }

//    @GetMapping("/getInfo")
//    public ResponseResult<String> getInfo(HttpServletRequest request) {
////        Map<String,Object> map=new HashMap<>();
////        map.put("name","张三");
////        map.put("avator","1.jpg");
//      String token =request.getHeader("Authorization");
//        System.out.println(token+" ");
//        String id=JWT.decode(token.substring(token.lastIndexOf(" ")+1)).getClaim("username").asString();
//        return ResponseResult.createBySuccess(200, id, "查询成功");
//    }
    @PassToken
    @GetMapping("/getBanners")
    public ResponseResult <List<String> >getBanners(){
        List<String> list=new ArrayList<>();
        list.add("/images/111.jpg");list.add("/images/112.jpg");list.add("/images/113.jpg");
        return ResponseResult.createBySuccess(200,list,"显示轮播图");

    }

}
